home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / p_man / catD / pcibr_hints.z / pcibr_hints
Encoding:
Text File  |  2001-04-17  |  5.6 KB  |  133 lines

  1.  
  2.  
  3.  
  4. ppppcccciiiibbbbrrrr____hhhhiiiinnnnttttssss((((DDDD3333))))                                                ppppcccciiiibbbbrrrr____hhhhiiiinnnnttttssss((((DDDD3333))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      _pppp_cccc_iiii_bbbb_rrrr______hhhh_iiii_nnnn_tttt_ssss______dddd_uuuu_aaaa_llll_ssss_llll_oooo_tttt - note device uses two PCI slots
  10.      _pppp_cccc_iiii_bbbb_rrrr______hhhh_iiii_nnnn_tttt_ssss______ffff_iiii_xxxx______rrrr_rrrr_bbbb_ssss - prevent all automatic RRB allocation
  11.      _pppp_cccc_iiii_bbbb_rrrr______hhhh_iiii_nnnn_tttt_ssss______ffff_iiii_xxxx______ssss_oooo_mmmm_eeee______rrrr_rrrr_bbbb_ssss - prevent some automatic RRB allocation
  12.      _pppp_cccc_iiii_bbbb_rrrr______hhhh_iiii_nnnn_tttt_ssss______hhhh_aaaa_nnnn_dddd_ssss_oooo_ffff_ffff - prevent generic handling
  13.      _pppp_cccc_iiii_bbbb_rrrr______hhhh_iiii_nnnn_tttt_ssss______ssss_uuuu_bbbb_dddd_eeee_vvvv_ssss - specify subdevice mask
  14.  
  15. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  16.      #include <sys/PCI/pcibr.h>
  17.  
  18.      void
  19.      pcibr_hints_dualslot(
  20.                vertex_hdl_t _x_c_o_n_n__v_h_d_l,
  21.                pciio_slot_t _h_o_s_t,
  22.                pciio_slot_t _g_u_e_s_t)
  23.  
  24.      void
  25.      pcibr_hints_fix_rrbs(
  26.                vertex_hdl_t _x_c_o_n_n__v_h_d_l)
  27.  
  28.      void
  29.      pcibr_hints_fix_some_rrbs(
  30.                vertex_hdl_t _x_c_o_n_n__v_h_d_l,
  31.                unsigned _s_l_o_t__m_a_s_k)
  32.  
  33.      void
  34.      pcibr_hints_handsoff(
  35.                vertex_hdl_t _x_c_o_n_n__v_h_d_l)
  36.  
  37.      void
  38.      pcibr_hints_subdevs(
  39.                vertex_hdl_t _x_c_o_n_n__v_h_d_l,
  40.                pciio_slot_t _p_c_i__s_l_o_t,
  41.                ulong_t _s_u_b_d_e_vs)
  42.  
  43.    AAAArrrrgggguuuummmmeeeennnnttttssss
  44.      _g_u_e_s_t   A PCI slot number other than the host slot whose resources are
  45.              used by a dualslot device.
  46.  
  47.      _h_o_s_t    A PCI slot number in which a dualslot device responds to Config
  48.              space accesses.
  49.  
  50.      _p_c_i__s_l_o_t
  51.              The (possibly logical) PCI slot number of the device of interest.
  52.  
  53.      _s_l_o_t__m_a_s_k
  54.              A bit mask specifying which PCI slots (or REQ/GNT pairs) are
  55.              affected by the call; the least significant bit is REQ0/GNT0, and
  56.              so on up to bit 0x80 is REQ7/GNT7.
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ppppcccciiiibbbbrrrr____hhhhiiiinnnnttttssss((((DDDD3333))))                                                ppppcccciiiibbbbrrrr____hhhhiiiinnnnttttssss((((DDDD3333))))
  71.  
  72.  
  73.  
  74.      _s_u_b_d_e_v  A bitmask of populated subdevices for a specific PCI slot. The
  75.              exact bit layout is dependent on the PCI device involved.
  76.  
  77.      _x_c_o_n_n__v_h_d_l
  78.              The XIO connection point for the bridge, generally obtained from
  79.              a nic_vmc callback.
  80.  
  81.  
  82.  
  83. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  84.      Boards are sometimes built with onboard PCI busses that route more than
  85.      one REQ/GNT pair to a single device.  _p_c_i_b_r__h_i_n_t_s__d_u_a_l_s_l_o_t() is used to
  86.      inform the infrastructure of such devices.
  87.  
  88.      _p_c_i_b_r__h_i_n_t_s__f_i_x__r_r_b_s() disables automatic RRB adjustment for all REQ/GNT
  89.      pairs on the bus.
  90.  
  91.      _p_c_i_b_r__h_i_n_t_s__f_i_x__s_o_m_e__r_r_b_s() disables automatic RRB adjustment for the
  92.      specified REQ/GNT pairs on the bus; the least significant bit corresponds
  93.      to REQ0/GNT0 and bit 0x80 corresponds to REQ7/GNT7.
  94.  
  95.      _p_c_i_b_r__h_i_n_t_s__h_a_n_d_s_o_f_f() prevents additional initialization of the
  96.      specified Bridge ASIC and the infrastructure at and beyond the Bridge.
  97.  
  98.      _p_c_i_b_r__h_i_n_t_s__s_u_b_d_e_v_s() is used to inform varous PCI device drivers that
  99.      have multiple subdevices of which subdevices are meaningful; for
  100.      instance, a chip supporting serial ports and ethernet may be used without
  101.      serial port connectors, and _p_c_i_b_r__h_i_n_t_s__s_u_b_d_e_v_s() would be called to
  102.      inform the driver that it need not provide support for those particular
  103.      serial ports.
  104.  
  105. NNNNOOOOTTTTEEEESSSS
  106.      _p_c_i_b_r__h_i_n_t_s__d_u_a_l_s_l_o_t() is limited to noting two REQ/GNT pairs for a
  107.      single device.  Using multiple calls to associate additional REQ/GNT
  108.      pairs with a single device has undefined results.
  109.  
  110.      If _p_c_i_b_r__h_i_n_t_s__f_i_x__r_r_b_s() or _p_c_i_b_r__h_i_n_t_s__f_i_x__s_o_m_e__r_r_b_s() is applied and
  111.      RRBs are not manually assigned to REQ/GNT pairs, any DMA READ request
  112.      from outside the local PCI bus using one of those REQ/GNT pairs will
  113.      stall forever.
  114.  
  115. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  116.      nic_vmc(D3) pcibr_rrb(D3)
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.